/**
 * @file lcd_display.h
 * @brief control the lcd screen display
 * @author achdu0000@163.com
 * @version 1.0.0
 * @date 2024/07/07
 *
 * This file contains the definitions of functions that manage and control the
 * operations of an LCD display, including initialization, clearing the screen,
 * setting cursor position, and writing characters or strings to the display.
 *
 */

#ifndef LCD_DISPLAY_H
#define LCD_DISPLAY_H

#include <Arduino.h>
#include <ESP_Panel_Library.h>
#include <lvgl.h>
#include "lvgl_port_v8.h"
#include "junior_part/junior_part.h"
#include "senior_part/senior_part.h"

#define _LCD_DISPLAY_LOG_SERIAL Serial

#define JUNIOR_PART_OF_DESIGN
#define SENIOR_PART_OF_DESIGN

/**
 * the entry function of display for `../../Body_Health_Clock_display.ino` call
 */
void display_on_create();

#ifdef SENIOR_PART_OF_DESIGN
/**
 * the entry function of senior part only used when the junior part has been finished
 */
void switch_to_senior_part();
#endif //SENIOR_PART_OF_DESIGN

#endif // LCD_DISPLAY_H